namespace devtm.Aop.Emit
{
    using System;
    

    [Serializable]
    public class EmitEventReferenceExpression : EmitExpression
    {
        private string eventName;
        private EmitExpression targetObject;

        public EmitEventReferenceExpression()
        {
        }

        public EmitEventReferenceExpression(EmitExpression targetObject, string eventName)
        {
            this.targetObject = targetObject;
            this.eventName = eventName;
        }

        public string EventName
        {
            get
            {
                if (this.eventName != null)
                {
                    return this.eventName;
                }
                return string.Empty;
            }
            set
            {
                this.eventName = value;
            }
        }

        public EmitExpression TargetObject
        {
            get
            {
                return this.targetObject;
            }
            set
            {
                this.targetObject = value;
            }
        }



        public override System.Collections.Generic.IEnumerable<Mono.Cecil.Cil.Instruction> Compile()
        {
            throw new NotImplementedException();
        }
    }
}
